@import "tailwindcss";

@plugin "@tailwindcss/typography";

@theme {
  --color-pacamara-primary: #003049;
  --color-pacamara-secondary: #b2a4ff;
  --color-pacamara-accent: #ffb4b4;
  --color-pacamara-dark: #000e14;
  --color-pacamara-white: #ffffff;

  --font-pacamara-inter: "Inter", sans-serif;
  --font-pacamara-space: "Space Grotesk", sans-serif;
}

@layer base {
  body {
    font-family: "Inter", sans-serif;
  }

  h1 {
    @apply !text-5xl !font-bold;
  }

  h2 {
    @apply !text-3xl !font-bold;
  }

  h3 {
    @apply !text-2xl !font-bold;
  }
}

:root {
  --gradient-space: 20px;
  --gradient-height: 2px;
}

.gradient-line {
  background-image:
    linear-gradient(
      90deg,
      transparent,
      transparent 50%,
      theme("colors.pacamara-white") 50%,
      theme("colors.pacamara-white") 100%
    ),
    linear-gradient(
      90deg,
      theme("colors.pacamara-secondary"),
      theme("colors.pacamara-accent")
    );
  background-size:
    var(--gradient-space) var(--gradient-height),
    100% var(--gradient-height);

  @apply transition-all duration-300 rounded-full;
}

.dark .gradient-line {
  background-image:
    linear-gradient(
      90deg,
      transparent,
      transparent 50%,
      theme("colors.pacamara-dark") 50%,
      theme("colors.pacamara-dark") 100%
    ),
    linear-gradient(
      90deg,
      theme("colors.pacamara-secondary"),
      theme("colors.pacamara-accent")
    );
  background-size:
    var(--gradient-space) var(--gradient-height),
    100% var(--gradient-height);

  @apply transition-all duration-300 rounded-full;
}

.gradient-underline {
  line-height: 0.6em;
  vertical-align: 0em;
  border-bottom: 0.27em solid transparent;
  -moz-border-image: -moz-linear-gradient(
    left,
    theme("colors.pacamara-secondary") 0%,
    theme("colors.pacamara-accent") 100%
  );
  -webkit-border-image: -webkit-linear-gradient(
    left,
    theme("colors.pacamara-secondary") 0%,
    theme("colors.pacamara-accent") 100%
  );
  border-image: linear-gradient(
    to right,
    theme("colors.pacamara-secondary") 0%,
    theme("colors.pacamara-accent") 100%
  );
  border-image-slice: 1;

  @apply transition-all duration-300;
}

.gradient-underline span {
  vertical-align: -0.38em;
}

.image-shine {
  -webkit-mask: linear-gradient(135deg, #000c 20%, #000, #000c 80%) 100%
    100%/250% 250%;

  @apply transition-all duration-300;
}

.image-shine:hover {
  -webkit-mask-position: 0 0;
}

html {
  scrollbar-color: theme("colors.pacamara-secondary") transparent;
  scrollbar-width: auto;
}

body::-webkit-scrollbar {
  width: 14px;
}

body::-webkit-scrollbar-track {
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

body::-webkit-scrollbar-thumb {
  background-image: linear-gradient(
    180deg,
    theme("colors.pacamara-secondary"),
    theme("colors.pacamara-accent")
  );
  outline: 0px solid theme("colors.pacamara-accent");
  border-radius: 10px;
}
